<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>R: Engine exhaust fumes from burning ethanol</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="R.css">
</head><body>

<table width="100%" summary="page for H_ethanol"><tr><td>H_ethanol</td><td align="right">R Documentation</td></tr></table>

<h2> Engine exhaust fumes from burning ethanol </h2>

<h3>Description</h3>


<p>Ethanol fuel was burned in a single-cylinder engine.  For various
settings of the engine compression and equivalence ratio, the
emissions of nitrogen oxides were recorded.
</p>


<h3>Usage</h3>

<pre>ethanol</pre>


<h3>Format</h3>


<p>A data frame with 88 observations on the following 3 variables.
</p>

<dl>
<dt>NOx</dt><dd><p>Concentration of nitrogen oxides (NO and NO2) in
micrograms/J.</p>
</dd>
<dt>C</dt><dd><p>Compression ratio of the engine.</p>
</dd>
<dt>E</dt><dd><p>Equivalence ratio&ndash;a measure of the richness of the air and
ethanol fuel mixture.</p>
</dd>
</dl>



<h3>Author(s)</h3>


<p>Documentation contributed by Kevin Wright.
</p>


<h3>Source</h3>


<p>Brinkman, N.D. (1981) Ethanol Fuel&mdash;A Single-Cylinder Engine Study of
Efficiency and Exhaust Emissions. <EM>SAE transactions</EM>,
<B>90</B>, 1410&ndash;1424.
</p>


<h3>References</h3>


<p>Cleveland, William S. (1993) <EM>Visualizing Data</EM>.  Hobart Press,
Summit, New Jersey.
</p>


<h3>Examples</h3>

<pre>
## Constructing panel functions on the fly
EE &lt;- equal.count(ethanol$E, number=9, overlap=1/4)
xyplot(NOx ~ C | EE, data = ethanol,
       prepanel = function(x, y) prepanel.loess(x, y, span = 1),
       xlab = "Compression ratio", ylab = "NOx (micrograms/J)",
       panel = function(x, y) {
           panel.grid(h=-1, v= 2)
           panel.xyplot(x, y)
           panel.loess(x,y, span=1)
       },
       aspect = "xy")

# Wireframe loess surface fit.  See Figure 4.61 from Cleveland.
require(stats)
with(ethanol, {
  eth.lo &lt;- loess(NOx ~ C * E, span = 1/3, parametric = "C", 
                  drop.square = "C", family="symmetric")
  eth.marginal &lt;- list(C = seq(min(C), max(C), length.out = 25), 
                       E = seq(min(E), max(E), length.out = 25))
  eth.grid &lt;- expand.grid(eth.marginal)
  eth.fit &lt;- predict(eth.lo, eth.grid)
  wireframe(eth.fit ~ eth.grid$C * eth.grid$E,
            shade=TRUE,
	    screen = list(z = 40, x = -60, y=0),
	    distance = .1,
	    xlab = "C", ylab = "E", zlab = "NOx")
})
</pre>


</body></html>
